<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.13" name="generator"/>
<title>OpenCV: cv::DISOpticalFlow Class Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script src="../../jquery.js" type="text/javascript"></script>
<script src="../../dynsections.js" type="text/javascript"></script>
<script src="../../tutorial-utils.js" type="text/javascript"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script src="../../search/searchdata.js" type="text/javascript"></script>
<script src="../../search/search.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" type="text/javascript"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css"/>
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellpadding="0" cellspacing="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
    <span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script src="../../menudata.js" type="text/javascript"></script>
<script src="../../menu.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="navpath" id="nav-path">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html">DISOpticalFlow</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="../../d5/da7/classcv_1_1DISOpticalFlow-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">cv::DISOpticalFlow Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="../../d7/de9/group__video.html">Video Analysis</a> » <a class="el" href="../../dc/d6b/group__video__track.html">Object Tracking</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<p>DIS optical flow algorithm.  
 <a href="../../de/d4f/classcv_1_1DISOpticalFlow.html#details">More...</a></p>
<p><code>#include &lt;opencv2/video/tracking.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cv::DISOpticalFlow:</div>
<div class="dyncontent">
 <div class="center">
  <img alt="" src="../../de/d4f/classcv_1_1DISOpticalFlow.png" usemap="#cv::DISOpticalFlow_map"/>
  <map id="cv::DISOpticalFlow_map" name="cv::DISOpticalFlow_map">
<area alt="cv::DenseOpticalFlow" coords="0,56,135,80" href="../../df/dde/classcv_1_1DenseOpticalFlow.html" shape="rect"/>
<area alt="cv::Algorithm" coords="0,0,135,24" href="../../d3/d46/classcv_1_1Algorithm.html" shape="rect" title="This is a base class for all more or less complex algorithms in OpenCV. "/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a67f968345cebb5ac16e38263cc695e90"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a67f968345cebb5ac16e38263cc695e90a9f90dcf9da43619e3c401f0c0956f998">PRESET_ULTRAFAST</a> = 0, 
<br/>
  <a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a67f968345cebb5ac16e38263cc695e90acac18d130d259ee7dcdd6a874508b047">PRESET_FAST</a> = 1, 
<br/>
  <a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a67f968345cebb5ac16e38263cc695e90a2ed2f21190ccc2e47a480615407d61aa">PRESET_MEDIUM</a> = 2
<br/>
 }</td></tr>
<tr class="separator:a67f968345cebb5ac16e38263cc695e90"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4eace75e8bdd614526785edf74bb9dcc"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a4eace75e8bdd614526785edf74bb9dcc">getFinestScale</a> () const =0</td></tr>
<tr class="memdesc:a4eace75e8bdd614526785edf74bb9dcc"><td class="mdescLeft"> </td><td class="mdescRight">Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the original image resolution). The final flow is obtained by bilinear upscaling.  <a href="#a4eace75e8bdd614526785edf74bb9dcc">More...</a><br/></td></tr>
<tr class="separator:a4eace75e8bdd614526785edf74bb9dcc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afbb1fa213ed5126df440ac782c8ca053"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#afbb1fa213ed5126df440ac782c8ca053">getGradientDescentIterations</a> () const =0</td></tr>
<tr class="memdesc:afbb1fa213ed5126df440ac782c8ca053"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases.  <a href="#afbb1fa213ed5126df440ac782c8ca053">More...</a><br/></td></tr>
<tr class="separator:afbb1fa213ed5126df440ac782c8ca053"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acb89a8f71a828d9063ed89ec4837cd77"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#acb89a8f71a828d9063ed89ec4837cd77">getPatchSize</a> () const =0</td></tr>
<tr class="memdesc:acb89a8f71a828d9063ed89ec4837cd77"><td class="mdescLeft"> </td><td class="mdescRight">Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in most cases.  <a href="#acb89a8f71a828d9063ed89ec4837cd77">More...</a><br/></td></tr>
<tr class="separator:acb89a8f71a828d9063ed89ec4837cd77"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a78b318d68e606d62fac9748259a5ae41"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a78b318d68e606d62fac9748259a5ae41">getPatchStride</a> () const =0</td></tr>
<tr class="memdesc:a78b318d68e606d62fac9748259a5ae41"><td class="mdescLeft"> </td><td class="mdescRight">Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow quality.  <a href="#a78b318d68e606d62fac9748259a5ae41">More...</a><br/></td></tr>
<tr class="separator:a78b318d68e606d62fac9748259a5ae41"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5474e8d4c173d317025fd12a9926bc59"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a5474e8d4c173d317025fd12a9926bc59">getUseMeanNormalization</a> () const =0</td></tr>
<tr class="memdesc:a5474e8d4c173d317025fd12a9926bc59"><td class="mdescLeft"> </td><td class="mdescRight">Whether to use mean-normalization of patches when computing patch distance. It is turned on by default as it typically provides a noticeable quality boost because of increased robustness to illumination variations. Turn it off if you are certain that your sequence doesn't contain any changes in illumination.  <a href="#a5474e8d4c173d317025fd12a9926bc59">More...</a><br/></td></tr>
<tr class="separator:a5474e8d4c173d317025fd12a9926bc59"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7aaadb8e89a886f0eace8ffda9765766"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a7aaadb8e89a886f0eace8ffda9765766">getUseSpatialPropagation</a> () const =0</td></tr>
<tr class="memdesc:a7aaadb8e89a886f0eace8ffda9765766"><td class="mdescLeft"> </td><td class="mdescRight">Whether to use spatial propagation of good optical flow vectors. This option is turned on by default, as it tends to work better on average and can sometimes help recover from major errors introduced by the coarse-to-fine scheme employed by the DIS optical flow algorithm. Turning this option off can make the output flow field a bit smoother, however.  <a href="#a7aaadb8e89a886f0eace8ffda9765766">More...</a><br/></td></tr>
<tr class="separator:a7aaadb8e89a886f0eace8ffda9765766"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4d7aa114d8faae2ff290237da7c1dfb7"><td align="right" class="memItemLeft" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a4d7aa114d8faae2ff290237da7c1dfb7">getVariationalRefinementAlpha</a> () const =0</td></tr>
<tr class="memdesc:a4d7aa114d8faae2ff290237da7c1dfb7"><td class="mdescLeft"> </td><td class="mdescRight">Weight of the smoothness term.  <a href="#a4d7aa114d8faae2ff290237da7c1dfb7">More...</a><br/></td></tr>
<tr class="separator:a4d7aa114d8faae2ff290237da7c1dfb7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3e3acc693ad75eb2c423b33cdaead085"><td align="right" class="memItemLeft" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a3e3acc693ad75eb2c423b33cdaead085">getVariationalRefinementDelta</a> () const =0</td></tr>
<tr class="memdesc:a3e3acc693ad75eb2c423b33cdaead085"><td class="mdescLeft"> </td><td class="mdescRight">Weight of the color constancy term.  <a href="#a3e3acc693ad75eb2c423b33cdaead085">More...</a><br/></td></tr>
<tr class="separator:a3e3acc693ad75eb2c423b33cdaead085"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab43f6f0ec82bff53968dab8444a67f32"><td align="right" class="memItemLeft" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ab43f6f0ec82bff53968dab8444a67f32">getVariationalRefinementGamma</a> () const =0</td></tr>
<tr class="memdesc:ab43f6f0ec82bff53968dab8444a67f32"><td class="mdescLeft"> </td><td class="mdescRight">Weight of the gradient constancy term.  <a href="#ab43f6f0ec82bff53968dab8444a67f32">More...</a><br/></td></tr>
<tr class="separator:ab43f6f0ec82bff53968dab8444a67f32"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e7abfc6e1181437ce56309afeaf9a7d"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a4e7abfc6e1181437ce56309afeaf9a7d">getVariationalRefinementIterations</a> () const =0</td></tr>
<tr class="memdesc:a4e7abfc6e1181437ce56309afeaf9a7d"><td class="mdescLeft"> </td><td class="mdescRight">Number of fixed point iterations of variational refinement per scale. Set to zero to disable variational refinement completely. Higher values will typically result in more smooth and high-quality flow.  <a href="#a4e7abfc6e1181437ce56309afeaf9a7d">More...</a><br/></td></tr>
<tr class="separator:a4e7abfc6e1181437ce56309afeaf9a7d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a802aad5131797bc8d97b8715d83c9dc1"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a802aad5131797bc8d97b8715d83c9dc1">setFinestScale</a> (int val)=0</td></tr>
<tr class="memdesc:a802aad5131797bc8d97b8715d83c9dc1"><td class="mdescLeft"> </td><td class="mdescRight">Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the original image resolution). The final flow is obtained by bilinear upscaling.  <a href="#a802aad5131797bc8d97b8715d83c9dc1">More...</a><br/></td></tr>
<tr class="separator:a802aad5131797bc8d97b8715d83c9dc1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a184662b1f15fc3f7581bc61568a362fd"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a184662b1f15fc3f7581bc61568a362fd">setGradientDescentIterations</a> (int val)=0</td></tr>
<tr class="memdesc:a184662b1f15fc3f7581bc61568a362fd"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases.  <a href="#a184662b1f15fc3f7581bc61568a362fd">More...</a><br/></td></tr>
<tr class="separator:a184662b1f15fc3f7581bc61568a362fd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a644e7921b304c083ed93fcc199feb372"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a644e7921b304c083ed93fcc199feb372">setPatchSize</a> (int val)=0</td></tr>
<tr class="memdesc:a644e7921b304c083ed93fcc199feb372"><td class="mdescLeft"> </td><td class="mdescRight">Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in most cases.  <a href="#a644e7921b304c083ed93fcc199feb372">More...</a><br/></td></tr>
<tr class="separator:a644e7921b304c083ed93fcc199feb372"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a70fb84e13b487b3577e4ea3401839f23"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a70fb84e13b487b3577e4ea3401839f23">setPatchStride</a> (int val)=0</td></tr>
<tr class="memdesc:a70fb84e13b487b3577e4ea3401839f23"><td class="mdescLeft"> </td><td class="mdescRight">Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow quality.  <a href="#a70fb84e13b487b3577e4ea3401839f23">More...</a><br/></td></tr>
<tr class="separator:a70fb84e13b487b3577e4ea3401839f23"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9e1ca290c78973995dcfe11da3ca0ea7"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a9e1ca290c78973995dcfe11da3ca0ea7">setUseMeanNormalization</a> (bool val)=0</td></tr>
<tr class="memdesc:a9e1ca290c78973995dcfe11da3ca0ea7"><td class="mdescLeft"> </td><td class="mdescRight">Whether to use mean-normalization of patches when computing patch distance. It is turned on by default as it typically provides a noticeable quality boost because of increased robustness to illumination variations. Turn it off if you are certain that your sequence doesn't contain any changes in illumination.  <a href="#a9e1ca290c78973995dcfe11da3ca0ea7">More...</a><br/></td></tr>
<tr class="separator:a9e1ca290c78973995dcfe11da3ca0ea7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab34e5d41eba2c1c790eaec99c02d2ac2"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ab34e5d41eba2c1c790eaec99c02d2ac2">setUseSpatialPropagation</a> (bool val)=0</td></tr>
<tr class="memdesc:ab34e5d41eba2c1c790eaec99c02d2ac2"><td class="mdescLeft"> </td><td class="mdescRight">Whether to use spatial propagation of good optical flow vectors. This option is turned on by default, as it tends to work better on average and can sometimes help recover from major errors introduced by the coarse-to-fine scheme employed by the DIS optical flow algorithm. Turning this option off can make the output flow field a bit smoother, however.  <a href="#ab34e5d41eba2c1c790eaec99c02d2ac2">More...</a><br/></td></tr>
<tr class="separator:ab34e5d41eba2c1c790eaec99c02d2ac2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a565bcd4da1df9fcd0bbcb1a3459a1dd5"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a565bcd4da1df9fcd0bbcb1a3459a1dd5">setVariationalRefinementAlpha</a> (float val)=0</td></tr>
<tr class="memdesc:a565bcd4da1df9fcd0bbcb1a3459a1dd5"><td class="mdescLeft"> </td><td class="mdescRight">Weight of the smoothness term.  <a href="#a565bcd4da1df9fcd0bbcb1a3459a1dd5">More...</a><br/></td></tr>
<tr class="separator:a565bcd4da1df9fcd0bbcb1a3459a1dd5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae8bf8a4f43a4c353969dd736350afac4"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ae8bf8a4f43a4c353969dd736350afac4">setVariationalRefinementDelta</a> (float val)=0</td></tr>
<tr class="memdesc:ae8bf8a4f43a4c353969dd736350afac4"><td class="mdescLeft"> </td><td class="mdescRight">Weight of the color constancy term.  <a href="#ae8bf8a4f43a4c353969dd736350afac4">More...</a><br/></td></tr>
<tr class="separator:ae8bf8a4f43a4c353969dd736350afac4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7967d16857c013a2c27137f324eb1558"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a7967d16857c013a2c27137f324eb1558">setVariationalRefinementGamma</a> (float val)=0</td></tr>
<tr class="memdesc:a7967d16857c013a2c27137f324eb1558"><td class="mdescLeft"> </td><td class="mdescRight">Weight of the gradient constancy term.  <a href="#a7967d16857c013a2c27137f324eb1558">More...</a><br/></td></tr>
<tr class="separator:a7967d16857c013a2c27137f324eb1558"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a33f28030c8c7707f9102c1bc1cc09bf3"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a33f28030c8c7707f9102c1bc1cc09bf3">setVariationalRefinementIterations</a> (int val)=0</td></tr>
<tr class="memdesc:a33f28030c8c7707f9102c1bc1cc09bf3"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases.  <a href="#a33f28030c8c7707f9102c1bc1cc09bf3">More...</a><br/></td></tr>
<tr class="separator:a33f28030c8c7707f9102c1bc1cc09bf3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classcv_1_1DenseOpticalFlow"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcv_1_1DenseOpticalFlow')"><img alt="-" src="../../closed.png"/> Public Member Functions inherited from <a class="el" href="../../df/dde/classcv_1_1DenseOpticalFlow.html">cv::DenseOpticalFlow</a></td></tr>
<tr class="memitem:a20037021dec04e9006149204ad610d04 inherit pub_methods_classcv_1_1DenseOpticalFlow"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dde/classcv_1_1DenseOpticalFlow.html#a20037021dec04e9006149204ad610d04">calc</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> I0, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> I1, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> flow)=0</td></tr>
<tr class="memdesc:a20037021dec04e9006149204ad610d04 inherit pub_methods_classcv_1_1DenseOpticalFlow"><td class="mdescLeft"> </td><td class="mdescRight">Calculates an optical flow.  <a href="../../df/dde/classcv_1_1DenseOpticalFlow.html#a20037021dec04e9006149204ad610d04">More...</a><br/></td></tr>
<tr class="separator:a20037021dec04e9006149204ad610d04 inherit pub_methods_classcv_1_1DenseOpticalFlow"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ada50da5295433ded930ddf32f681b80e inherit pub_methods_classcv_1_1DenseOpticalFlow"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dde/classcv_1_1DenseOpticalFlow.html#ada50da5295433ded930ddf32f681b80e">collectGarbage</a> ()=0</td></tr>
<tr class="memdesc:ada50da5295433ded930ddf32f681b80e inherit pub_methods_classcv_1_1DenseOpticalFlow"><td class="mdescLeft"> </td><td class="mdescRight">Releases all inner buffers.  <a href="../../df/dde/classcv_1_1DenseOpticalFlow.html#ada50da5295433ded930ddf32f681b80e">More...</a><br/></td></tr>
<tr class="separator:ada50da5295433ded930ddf32f681b80e inherit pub_methods_classcv_1_1DenseOpticalFlow"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcv_1_1Algorithm')"><img alt="-" src="../../closed.png"/> Public Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a827c8b2781ed17574805f373e6054ff1 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a827c8b2781ed17574805f373e6054ff1">Algorithm</a> ()</td></tr>
<tr class="separator:a827c8b2781ed17574805f373e6054ff1 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ae826127fa0f1f8d10a24841bd376f8 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a8ae826127fa0f1f8d10a24841bd376f8">~Algorithm</a> ()</td></tr>
<tr class="separator:a8ae826127fa0f1f8d10a24841bd376f8 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#aec9c965448e4dc851d7cacd3abd84cd1">clear</a> ()</td></tr>
<tr class="memdesc:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Clears the algorithm state.  <a href="../../d3/d46/classcv_1_1Algorithm.html#aec9c965448e4dc851d7cacd3abd84cd1">More...</a><br/></td></tr>
<tr class="separator:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab6a18f1825475643e94381697d413972 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#ab6a18f1825475643e94381697d413972">empty</a> () const</td></tr>
<tr class="memdesc:ab6a18f1825475643e94381697d413972 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html" title="This is a base class for all more or less complex algorithms in OpenCV. ">Algorithm</a> is empty (e.g. in the very beginning or after unsuccessful read.  <a href="../../d3/d46/classcv_1_1Algorithm.html#ab6a18f1825475643e94381697d413972">More...</a><br/></td></tr>
<tr class="separator:ab6a18f1825475643e94381697d413972 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a286fc82744ccab3d248aca44524266a9 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a286fc82744ccab3d248aca44524266a9">getDefaultName</a> () const</td></tr>
<tr class="separator:a286fc82744ccab3d248aca44524266a9 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#aef2ad3f4145bd6e8c3664eb1c4b5e1e6">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;fn)</td></tr>
<tr class="memdesc:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Reads algorithm parameters from a file storage.  <a href="../../d3/d46/classcv_1_1Algorithm.html#aef2ad3f4145bd6e8c3664eb1c4b5e1e6">More...</a><br/></td></tr>
<tr class="separator:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a880744bc4e3f45711444571df47d67 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a0a880744bc4e3f45711444571df47d67">save</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename) const</td></tr>
<tr class="separator:a0a880744bc4e3f45711444571df47d67 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a1f8ad7b8add515077367fb9949a174d2">write</a> (<a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &amp;fs) const</td></tr>
<tr class="memdesc:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Stores algorithm parameters in a file storage.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a1f8ad7b8add515077367fb9949a174d2">More...</a><br/></td></tr>
<tr class="separator:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a763a62d1b03042eef7d7fc3ac6c87c79">write</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &gt; &amp;fs, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;name=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>()) const</td></tr>
<tr class="memdesc:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a763a62d1b03042eef7d7fc3ac6c87c79">More...</a><br/></td></tr>
<tr class="separator:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ac7190baea143466f303b7778d20b0ceb"><td align="right" class="memItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html">DISOpticalFlow</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ac7190baea143466f303b7778d20b0ceb">create</a> (int preset=<a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a67f968345cebb5ac16e38263cc695e90acac18d130d259ee7dcdd6a874508b047">DISOpticalFlow::PRESET_FAST</a>)</td></tr>
<tr class="memdesc:ac7190baea143466f303b7778d20b0ceb"><td class="mdescLeft"> </td><td class="mdescRight">Creates an instance of <a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html" title="DIS optical flow algorithm. ">DISOpticalFlow</a>.  <a href="#ac7190baea143466f303b7778d20b0ceb">More...</a><br/></td></tr>
<tr class="separator:ac7190baea143466f303b7778d20b0ceb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_static_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classcv_1_1Algorithm')"><img alt="-" src="../../closed.png"/> Static Public Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b">load</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;objname=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>())</td></tr>
<tr class="memdesc:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Loads algorithm from the file.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b">More...</a><br/></td></tr>
<tr class="separator:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a3ba305a10d02479c13cf7d169c321547">loadFromString</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;strModel, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;objname=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>())</td></tr>
<tr class="memdesc:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Loads algorithm from a String.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a3ba305a10d02479c13cf7d169c321547">More...</a><br/></td></tr>
<tr class="separator:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#ad8c591bacb34c485f5b7a250c314fc53">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;fn)</td></tr>
<tr class="memdesc:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Reads algorithm from the file node.  <a href="../../d3/d46/classcv_1_1Algorithm.html#ad8c591bacb34c485f5b7a250c314fc53">More...</a><br/></td></tr>
<tr class="separator:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcv_1_1Algorithm')"><img alt="-" src="../../closed.png"/> Protected Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a68eeca71617474ad3d4561786f0289d2 inherit pro_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a68eeca71617474ad3d4561786f0289d2">writeFormat</a> (<a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &amp;fs) const</td></tr>
<tr class="separator:a68eeca71617474ad3d4561786f0289d2 inherit pro_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a id="details" name="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>DIS optical flow algorithm. </p>
<p>This class implements the Dense Inverse Search (DIS) optical flow algorithm. More details about the algorithm can be found at <a class="el" href="../../d0/de3/citelist.html#CITEREF_Kroeger2016">[132]</a> . Includes three presets with preselected parameters to provide reasonable trade-off between speed and quality. However, even the slowest preset is still relatively fast, use DeepFlow if you need better quality and don't care about speed.</p>
<p>This implementation includes several additional features compared to the algorithm described in the paper, including spatial propagation of flow vectors (<a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a7aaadb8e89a886f0eace8ffda9765766">getUseSpatialPropagation</a>), as well as an option to utilize an initial flow approximation passed to <a class="el" href="../../df/dde/classcv_1_1DenseOpticalFlow.html#a20037021dec04e9006149204ad610d04">calc</a> (which is, essentially, temporal propagation, if the previous frame's flow field is passed). </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a67f968345cebb5ac16e38263cc695e90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67f968345cebb5ac16e38263cc695e90">◆ </a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a67f968345cebb5ac16e38263cc695e90a9f90dcf9da43619e3c401f0c0956f998"></a>PRESET_ULTRAFAST </td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a67f968345cebb5ac16e38263cc695e90acac18d130d259ee7dcdd6a874508b047"></a>PRESET_FAST </td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a67f968345cebb5ac16e38263cc695e90a2ed2f21190ccc2e47a480615407d61aa"></a>PRESET_MEDIUM </td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac7190baea143466f303b7778d20b0ceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7190baea143466f303b7778d20b0ceb">◆ </a></span>create()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html">DISOpticalFlow</a>&gt; cv::DISOpticalFlow::create </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>preset</em> = <code><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a67f968345cebb5ac16e38263cc695e90acac18d130d259ee7dcdd6a874508b047">DISOpticalFlow::PRESET_FAST</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow_create(</td><td class="paramname">[, preset]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Creates an instance of <a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html" title="DIS optical flow algorithm. ">DISOpticalFlow</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">preset</td><td>one of PRESET_ULTRAFAST, PRESET_FAST and PRESET_MEDIUM </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="a4eace75e8bdd614526785edf74bb9dcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eace75e8bdd614526785edf74bb9dcc">◆ </a></span>getFinestScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::DISOpticalFlow::getFinestScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getFinestScale(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the original image resolution). The final flow is obtained by bilinear upscaling. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a802aad5131797bc8d97b8715d83c9dc1" title="Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the ori...">setFinestScale</a> </dd></dl>
</div>
</div>
<a id="afbb1fa213ed5126df440ac782c8ca053"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbb1fa213ed5126df440ac782c8ca053">◆ </a></span>getGradientDescentIterations()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::DISOpticalFlow::getGradientDescentIterations </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getGradientDescentIterations(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a184662b1f15fc3f7581bc61568a362fd" title="Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may im...">setGradientDescentIterations</a> </dd></dl>
</div>
</div>
<a id="acb89a8f71a828d9063ed89ec4837cd77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb89a8f71a828d9063ed89ec4837cd77">◆ </a></span>getPatchSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::DISOpticalFlow::getPatchSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getPatchSize(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in most cases. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a644e7921b304c083ed93fcc199feb372" title="Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in mo...">setPatchSize</a> </dd></dl>
</div>
</div>
<a id="a78b318d68e606d62fac9748259a5ae41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78b318d68e606d62fac9748259a5ae41">◆ </a></span>getPatchStride()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::DISOpticalFlow::getPatchStride </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getPatchStride(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow quality. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a70fb84e13b487b3577e4ea3401839f23" title="Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow...">setPatchStride</a> </dd></dl>
</div>
</div>
<a id="a5474e8d4c173d317025fd12a9926bc59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5474e8d4c173d317025fd12a9926bc59">◆ </a></span>getUseMeanNormalization()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool cv::DISOpticalFlow::getUseMeanNormalization </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getUseMeanNormalization(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Whether to use mean-normalization of patches when computing patch distance. It is turned on by default as it typically provides a noticeable quality boost because of increased robustness to illumination variations. Turn it off if you are certain that your sequence doesn't contain any changes in illumination. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a9e1ca290c78973995dcfe11da3ca0ea7" title="Whether to use mean-normalization of patches when computing patch distance. It is turned on by defaul...">setUseMeanNormalization</a> </dd></dl>
</div>
</div>
<a id="a7aaadb8e89a886f0eace8ffda9765766"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7aaadb8e89a886f0eace8ffda9765766">◆ </a></span>getUseSpatialPropagation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool cv::DISOpticalFlow::getUseSpatialPropagation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getUseSpatialPropagation(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Whether to use spatial propagation of good optical flow vectors. This option is turned on by default, as it tends to work better on average and can sometimes help recover from major errors introduced by the coarse-to-fine scheme employed by the DIS optical flow algorithm. Turning this option off can make the output flow field a bit smoother, however. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ab34e5d41eba2c1c790eaec99c02d2ac2" title="Whether to use spatial propagation of good optical flow vectors. This option is turned on by default...">setUseSpatialPropagation</a> </dd></dl>
</div>
</div>
<a id="a4d7aa114d8faae2ff290237da7c1dfb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d7aa114d8faae2ff290237da7c1dfb7">◆ </a></span>getVariationalRefinementAlpha()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float cv::DISOpticalFlow::getVariationalRefinementAlpha </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getVariationalRefinementAlpha(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Weight of the smoothness term. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a565bcd4da1df9fcd0bbcb1a3459a1dd5" title="Weight of the smoothness term. ">setVariationalRefinementAlpha</a> </dd></dl>
</div>
</div>
<a id="a3e3acc693ad75eb2c423b33cdaead085"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e3acc693ad75eb2c423b33cdaead085">◆ </a></span>getVariationalRefinementDelta()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float cv::DISOpticalFlow::getVariationalRefinementDelta </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getVariationalRefinementDelta(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Weight of the color constancy term. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ae8bf8a4f43a4c353969dd736350afac4" title="Weight of the color constancy term. ">setVariationalRefinementDelta</a> </dd></dl>
</div>
</div>
<a id="ab43f6f0ec82bff53968dab8444a67f32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab43f6f0ec82bff53968dab8444a67f32">◆ </a></span>getVariationalRefinementGamma()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float cv::DISOpticalFlow::getVariationalRefinementGamma </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getVariationalRefinementGamma(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Weight of the gradient constancy term. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a7967d16857c013a2c27137f324eb1558" title="Weight of the gradient constancy term. ">setVariationalRefinementGamma</a> </dd></dl>
</div>
</div>
<a id="a4e7abfc6e1181437ce56309afeaf9a7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e7abfc6e1181437ce56309afeaf9a7d">◆ </a></span>getVariationalRefinementIterations()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::DISOpticalFlow::getVariationalRefinementIterations </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.DISOpticalFlow.getVariationalRefinementIterations(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Number of fixed point iterations of variational refinement per scale. Set to zero to disable variational refinement completely. Higher values will typically result in more smooth and high-quality flow. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a184662b1f15fc3f7581bc61568a362fd" title="Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may im...">setGradientDescentIterations</a> </dd></dl>
</div>
</div>
<a id="a802aad5131797bc8d97b8715d83c9dc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a802aad5131797bc8d97b8715d83c9dc1">◆ </a></span>setFinestScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setFinestScale </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setFinestScale(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the original image resolution). The final flow is obtained by bilinear upscaling. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a4eace75e8bdd614526785edf74bb9dcc" title="Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the ori...">getFinestScale</a> </dd></dl>
</div>
</div>
<a id="a184662b1f15fc3f7581bc61568a362fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a184662b1f15fc3f7581bc61568a362fd">◆ </a></span>setGradientDescentIterations()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setGradientDescentIterations </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setGradientDescentIterations(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#afbb1fa213ed5126df440ac782c8ca053" title="Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may im...">getGradientDescentIterations</a> </dd></dl>
</div>
</div>
<a id="a644e7921b304c083ed93fcc199feb372"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a644e7921b304c083ed93fcc199feb372">◆ </a></span>setPatchSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setPatchSize </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setPatchSize(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in most cases. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#acb89a8f71a828d9063ed89ec4837cd77" title="Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in mo...">getPatchSize</a> </dd></dl>
</div>
</div>
<a id="a70fb84e13b487b3577e4ea3401839f23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70fb84e13b487b3577e4ea3401839f23">◆ </a></span>setPatchStride()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setPatchStride </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setPatchStride(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow quality. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a78b318d68e606d62fac9748259a5ae41" title="Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow...">getPatchStride</a> </dd></dl>
</div>
</div>
<a id="a9e1ca290c78973995dcfe11da3ca0ea7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e1ca290c78973995dcfe11da3ca0ea7">◆ </a></span>setUseMeanNormalization()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setUseMeanNormalization </td>
          <td>(</td>
          <td class="paramtype">bool </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setUseMeanNormalization(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Whether to use mean-normalization of patches when computing patch distance. It is turned on by default as it typically provides a noticeable quality boost because of increased robustness to illumination variations. Turn it off if you are certain that your sequence doesn't contain any changes in illumination. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a5474e8d4c173d317025fd12a9926bc59" title="Whether to use mean-normalization of patches when computing patch distance. It is turned on by defaul...">getUseMeanNormalization</a> </dd></dl>
</div>
</div>
<a id="ab34e5d41eba2c1c790eaec99c02d2ac2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab34e5d41eba2c1c790eaec99c02d2ac2">◆ </a></span>setUseSpatialPropagation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setUseSpatialPropagation </td>
          <td>(</td>
          <td class="paramtype">bool </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setUseSpatialPropagation(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Whether to use spatial propagation of good optical flow vectors. This option is turned on by default, as it tends to work better on average and can sometimes help recover from major errors introduced by the coarse-to-fine scheme employed by the DIS optical flow algorithm. Turning this option off can make the output flow field a bit smoother, however. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a7aaadb8e89a886f0eace8ffda9765766" title="Whether to use spatial propagation of good optical flow vectors. This option is turned on by default...">getUseSpatialPropagation</a> </dd></dl>
</div>
</div>
<a id="a565bcd4da1df9fcd0bbcb1a3459a1dd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a565bcd4da1df9fcd0bbcb1a3459a1dd5">◆ </a></span>setVariationalRefinementAlpha()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setVariationalRefinementAlpha </td>
          <td>(</td>
          <td class="paramtype">float </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setVariationalRefinementAlpha(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Weight of the smoothness term. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a4d7aa114d8faae2ff290237da7c1dfb7" title="Weight of the smoothness term. ">getVariationalRefinementAlpha</a> </dd></dl>
</div>
</div>
<a id="ae8bf8a4f43a4c353969dd736350afac4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8bf8a4f43a4c353969dd736350afac4">◆ </a></span>setVariationalRefinementDelta()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setVariationalRefinementDelta </td>
          <td>(</td>
          <td class="paramtype">float </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setVariationalRefinementDelta(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Weight of the color constancy term. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#a3e3acc693ad75eb2c423b33cdaead085" title="Weight of the color constancy term. ">getVariationalRefinementDelta</a> </dd></dl>
</div>
</div>
<a id="a7967d16857c013a2c27137f324eb1558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7967d16857c013a2c27137f324eb1558">◆ </a></span>setVariationalRefinementGamma()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setVariationalRefinementGamma </td>
          <td>(</td>
          <td class="paramtype">float </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setVariationalRefinementGamma(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Weight of the gradient constancy term. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#ab43f6f0ec82bff53968dab8444a67f32" title="Weight of the gradient constancy term. ">getVariationalRefinementGamma</a> </dd></dl>
</div>
</div>
<a id="a33f28030c8c7707f9102c1bc1cc09bf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33f28030c8c7707f9102c1bc1cc09bf3">◆ </a></span>setVariationalRefinementIterations()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::DISOpticalFlow::setVariationalRefinementIterations </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.DISOpticalFlow.setVariationalRefinementIterations(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d4f/classcv_1_1DISOpticalFlow.html#afbb1fa213ed5126df440ac782c8ca053" title="Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may im...">getGradientDescentIterations</a> </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>opencv2/video/<a class="el" href="../../d4/dc2/modules_2video_2include_2opencv2_2video_2tracking_8hpp.html">tracking.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:42 for OpenCV by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="../../doxygen.png"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
